import Vue from 'vue'
import App from './App'
import store from './store/store.js'
// 按需导入 $http 对象
import { $http } from '@escook/request-miniprogram'
// 在 uni-app 项目中，可以把 $http 挂载到 uni 顶级对象之上，方便全局调用
uni.$http = $http

uni.$showMsg = function(title = '数据请求失败!', duration = 1500) {
  uni.showToast({
    title,
    duration,
    icon: 'none',
  })
}

// 配置请求根路径
//$http.baseUrl = 'http://47.236.162.131:40001/mock/8'
$http.baseUrl = 'https://m.jivolunteer.cn'
//$http.baseUrl = 'https://localhost:443'
// 请求开始之前做一些事情
$http.beforeRequest = function(options) {
   const token = uni.getStorageSync('token'); // 从本地存储中获取 JWT
    if (token) {
      options.header = {
        ...options.header, // 保留原有的请求头
        Authorization: `${token}` // 添加 JWT
      };
    }
    console.log(token)
  uni.showLoading({
    title: '数据加载中...'
  })
}
// 请求完成之后做一些事情
$http.afterRequest = function() {
  
  uni.hideLoading()
}
// 全局 JavaScript 错误捕获
uni.onError((error) => {
  console.error('全局 JavaScript 错误捕获:', error);

});

// 全局未处理的 Promise 异常捕获
uni.onUnhandledRejection((error) => {
  console.error('全局未处理的 Promise 异常捕获:', error);

});
Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
	...App,
  store,
})
app.$mount()
